/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.proyecto.managed;

import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import sv.com.intesal.clases.Mensaje;
import sv.com.intesal.proyecto.bean.Proyecto;
import sv.com.intesal.proyecto.bean.ProyectoResumenGeneral;
import sv.com.intesal.proyecto.controlador.ProyectoControlador;
import sv.com.intesal.seguridad.managed.SessionManaged;

/**
 *
 * @author ejerez
 */
@ManagedBean(name = "consultaProyectoResumenTotalManaged")
@ViewScoped
public class ConsultaProyectoResumenTotalManaged implements Serializable {

    private Mensaje m;
    private SessionManaged sm;
    private Proyecto selectedProyecto;
    private ProyectoResumenGeneral selectedProyectoResumenGeneral;
    private List<ProyectoResumenGeneral> proyectoResumenGenerales;

    public ConsultaProyectoResumenTotalManaged() {
        m = new Mensaje();
        sm = new SessionManaged();
        this.selectedProyecto = new Proyecto();
        this.selectedProyectoResumenGeneral = new ProyectoResumenGeneral();
    }

    public void fillGrid() {
        try {
            if (this.validar() == true) {
                if (sm.validar_rol_usuario("wfrmcon_ProyectoResumenTotal", sm.buscar) == true) {
                    ProyectoControlador pc = new ProyectoControlador();
                    this.proyectoResumenGenerales = pc.getResumenTotal(this.selectedProyecto);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            m.messageError(m.getIerror());
        }
    }

    public void generarReporte() {

        try {
            if (this.proyectoResumenGenerales == null) {
                m.messageError("NO HAY REGISTROS EN LA BUSQUEDA");
            } else if (this.selectedProyecto.getId_p() == null) {
                m.messageError("DEBE SELECCIONAR UN PROYECTO");
            } else {
                if (sm.validar_rol_usuario("wfrmcon_ProyectoResumenTotal", sm.reporte) == true) {
                    ProyectoControlador pc = new ProyectoControlador();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            m.messageError(m.getIerror());
        }
    }

    private Boolean validar() throws Exception {

        try {
            Boolean var_return = true;
            if (this.selectedProyecto == null) {
                m.messageError("DEBE SELECCIONAR UN PROYECTO");
                var_return = false;
            } else if (this.selectedProyecto.getId_p() == null) {
                m.messageError("DEBE SELECCIONAR UN PROYECTO");
                var_return = false;
            }
            return var_return;
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public void getProyecto_Quick(Proyecto p) {
        try {
            this.selectedProyecto = p;
        } catch (Exception e) {
            e.printStackTrace();
            m.messageError(m.getIerror());
        }
    }
    /*SETTERS AND GETTERS*/

    public List<ProyectoResumenGeneral> getProyectoResumenGenerales() {
        return proyectoResumenGenerales;
    }

    public void setProyectoResumenGenerales(List<ProyectoResumenGeneral> proyectoResumenGenerales) {
        this.proyectoResumenGenerales = proyectoResumenGenerales;
    }

    public Proyecto getSelectedProyecto() {
        return selectedProyecto;
    }

    public void setSelectedProyecto(Proyecto selectedProyecto) {
        this.selectedProyecto = selectedProyecto;
    }

    public ProyectoResumenGeneral getSelectedProyectoResumenGeneral() {
        return selectedProyectoResumenGeneral;
    }

    public void setSelectedProyectoResumenGeneral(ProyectoResumenGeneral selectedProyectoResumenGeneral) {
        this.selectedProyectoResumenGeneral = selectedProyectoResumenGeneral;
    }
    /**/
}
